package com.xc.disk.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>项目名称: Stars</p>
 * <p>描述: 文件夹实体类</p>
 * <P>创建人: 小程</p>
 * <P>创建人邮箱: 779943476@qq.com</p>
 * <p>创建时间: 2019/07/25</p>
 *
 * @version v1.0
 */
@Data
@TableName("xc_folder")
public class FolderEntity implements Serializable {


    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;
    /**
     * 文件夹名称
     */
    private String name;

    /**
     * 父级目录id,等于空设置为默认目录root下
     */
    private String parentId;

    /**
     * 用户主键
     */
    private String userId;

    /**
     * 文件目录大小
     */
    private Long size;
    /**
     * 创建时间 不能为空
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 更新时间 不能为空
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 乐观锁,默认值0
     */
    @Version
    private Integer version;
    /**
     * 子集文件目录
     */
    @TableField(exist = false)
    private List<FolderEntity> children;

    /**
     * 文件集合
     */
    @TableField(exist = false)
    private List<FileEntity> files;

}
